package agh.rozproszony.model;

import java.io.Serializable;

public class Reservation implements Serializable {

    private int id;
    private int roomId;
    private int ownerId;
    private int year;
    private int month;
    private int day;
    private int fromHour;
    private int toHour;

    public Reservation() {
        this.id = 0;
        this.roomId = 0;
        this.ownerId = 0;
        this.year = 0;
        this.month = 0;
        this.day = 0;
        this.fromHour = 0;
        this.toHour = 0;
    }

    public Reservation(int id, int roomId, int ownerId, int year, int month, int day, int fromHour, int toHour) {
        this.id = id;
        this.roomId = roomId;
        this.ownerId = ownerId;
        this.year = year;
        this.month = month;
        this.day = day;
        this.fromHour = fromHour;
        this.toHour = toHour;
    }

    /**
     * Pobiera Id rezerwacji
     *
     * @return
     */
    public int getId() {
        return id;
    }

    /*
     *  Sprawdza czy obiekt jest pusty
     *  @return
     */
    public boolean isEmpty() {
        return this.id == 0
                && this.day == 0
                && this.fromHour == 0
                && this.month == 0
                && this.roomId == 0
                && this.year == 0;
    }

    /**
     * Ustawia Id rezerwacji
     *
     * @param id
     */
    public void setId(int id) {
        this.id = id;
    }

    /**
     * Pobiera Id pokoju danej rezerwacji
     *
     * @return
     */
    public int getRoomId() {
        return roomId;
    }

    /**
     * Ustawia Id pokoju danej rezerwacji
     *
     * @param roomId
     */
    public void setRoomId(int roomId) {
        this.roomId = roomId;
    }

    /**
     * Pobiera Id uzytkownika, ktory dokonal rezerwacji
     *
     * @return
     */
    public int getOwnerId() {
        return ownerId;
    }

    /**
     * Ustawia Id uzytkownika, ktory dokonal rezerwacji
     *
     * @param ownerId
     */
    public void setOwnerId(int ownerId) {
        this.ownerId = ownerId;
    }

    /**
     * Pobiera rok rezerwacji
     *
     * @return
     */
    public int getYear() {
        return year;
    }

    /**
     * Ustawia rok rezerwacji
     *
     * @param year
     */
    public void setYear(int year) {
        this.year = year;
    }

    /**
     * Pobiera miesiac rezerwacji
     *
     * @return
     */
    public int getMonth() {
        return month;
    }

    /**
     * Ustawia miesiac rezerwacji
     *
     * @param month
     */
    public void setMonth(int month) {
        this.month = month;
    }

    /**
     * Pobiera dzien rezerwacji
     *
     * @return
     */
    public int getDay() {
        return day;
    }

    /**
     * Ustawia dzien rezerwacji
     *
     * @param day
     */
    public void setDay(int day) {
        this.day = day;
    }

    /**
     * Pobiera godzine od ktorej dokonano rezerwacji
     *
     * @return
     */
    public int getFromHour() {
        return fromHour;
    }

    /**
     * Ustawia godzine od ktorej dokonano rezerwacji
     *
     * @param fromHour
     */
    public void setFromHour(int fromHour) {
        this.fromHour = fromHour;
    }

    /**
     * Pobiera godzine do ktorej dokonano rezerwacji
     *
     * @return
     */
    public int getToHour() {
        return toHour;
    }

    /**
     * Ustawia godzine do ktorej dokonano rezerwacji
     *
     * @param toHour
     */
    public void setToHour(int toHour) {
        this.toHour = toHour;
    }
}
